<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /*
        p443
        1. MutationObserver 的引用
            MutationObserver 实例与目标节点之间的引用关系是非对称的。MutationObserver 拥有对要
            观察的目标节点的弱引用。因为是弱引用，所以不会妨碍垃圾回收程序回收目标节点。 然而，目标节点却拥有对 MutationObserver 的强引用。如果目标节点从 DOM 中被移除，随后
            被垃圾回收，则关联的 MutationObserver 也会被垃圾回收。
        2. MutationRecord 的引用
            记录队列中的每个 MutationRecord 实例至少包含对已有 DOM 节点的一个引用。如果变化是 childList 类型，则会包含多个节点的引用。记录队列和回调处理的默认行为是耗尽这个队列，处理 每个 MutationRecord，然后让它们超出作用域并被垃圾回收。
            有时候可能需要保存某个观察者的完整变化记录。保存这些 MutationRecord 实例，也就会保存 它们引用的节点，因而会妨碍这些节点被回收。如果需要尽快地释放内存，建议从每个 MutationRecord 中抽取出最有用的信息，然后保存到一个新对象中，最后抛弃 MutationRecord。
     */
</script>
</body>
</html>